<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Starksoft.Net.Proxy</name>
    </assembly>
    <members>
        <member name="T:Starksoft.Net.Proxy.CreateConnectionAsyncCompletedEventArgs">
            <summary>
            Event arguments class for the EncryptAsyncCompleted event.
            </summary>
        </member>
        <member name="M:Starksoft.Net.Proxy.CreateConnectionAsyncCompletedEventArgs.#ctor(System.Exception,System.Boolean,System.Net.Sockets.TcpClient)">
            <summary>
            Constructor.
            </summary>
            <param name="error">Exception information generated by the event.</param>
            <param name="cancelled">Cancelled event flag.  This flag is set to true if the event was cancelled.</param>
            <param name="proxyConnection">Proxy Connection.  The initialized and open TcpClient proxy connection.</param>
        </member>
        <member name="P:Starksoft.Net.Proxy.CreateConnectionAsyncCompletedEventArgs.ProxyConnection">
            <summary>
            The proxy connection.
            </summary>
        </member>
        <member name="T:Starksoft.Net.Proxy.IProxyClient">
            <summary>
            Proxy client interface.  This is the interface that all proxy clients must implement.
            </summary>
        </member>
        <member name="M:Starksoft.Net.Proxy.IProxyClient.CreateConnection(System.String,System.Int32)">
            <summary>
            Creates a remote TCP connection through a proxy server to the destination host on the destination port.
            </summary>
            <param name="destinationHost">Destination host name or IP address.</param>
            <param name="destinationPort">Port number to connect to on the destination host.</param>
            <returns>
            Returns an open TcpClient object that can be used normally to communicate
            with the destination server
            </returns>
            <remarks>
            This method creates a connection to the proxy server and instructs the proxy server
            to make a pass through connection to the specified destination host on the specified
            port.  
            </remarks>
        </member>
        <member name="M:Starksoft.Net.Proxy.IProxyClient.CreateConnectionAsync(System.String,System.Int32)">
            <summary>
            Asynchronously creates a remote TCP connection through a proxy server to the destination host on the destination port.
            </summary>
            <param name="destinationHost">Destination host name or IP address.</param>
            <param name="destinationPort">Port number to connect to on the destination host.</param>
            <returns>
            Returns an open TcpClient object that can be used normally to communicate
            with the destination server
            </returns>
            <remarks>
            This method creates a connection to the proxy server and instructs the proxy server
            to make a pass through connection to the specified destination host on the specified
            port.  
            </remarks>
        </member>
        <member name="E:Starksoft.Net.Proxy.IProxyClient.CreateConnectionAsyncCompleted">
            <summary>
            Event handler for CreateConnectionAsync method completed.
            </summary>
        </member>
        <member name="P:Starksoft.Net.Proxy.IProxyClient.ProxyHost">
            <summary>
            Gets or sets proxy host name or IP address.
            </summary>
        </member>
        <member name="P:Starksoft.Net.Proxy.IProxyClient.ProxyPort">
            <summary>
            Gets or sets proxy port number.
            </summary>
        </member>
        <member name="P:Starksoft.Net.Proxy.IProxyClient.ProxyName">
            <summary>
            Gets String representing the name of the proxy.
            </summary>
        </member>
        <member name="P:Starksoft.Net.Proxy.IProxyClient.TcpClient">
            <summary>
            Gets or set the TcpClient object if one was specified in the constructor.
            </summary>
        </member>
        <member name="T:Starksoft.Net.Proxy.ProxyType">
            <summary>
            The type of proxy.
            </summary>
        </member>
        <member name="F:Starksoft.Net.Proxy.ProxyType.None">
            <summary>
            No Proxy specified.  Note this option will cause an exception to be thrown if used to create a proxy object by the factory.
            </summary>
        </member>
        <member name="F:Starksoft.Net.Proxy.ProxyType.Http">
            <summary>
            HTTP Proxy
            </summary>
        </member>
        <member name="F:Starksoft.Net.Proxy.ProxyType.Socks4">
            <summary>
            SOCKS v4 Proxy
            </summary>
        </member>
        <member name="F:Starksoft.Net.Proxy.ProxyType.Socks4a">
            <summary>
            SOCKS v4a Proxy
            </summary>
        </member>
        <member name="F:Starksoft.Net.Proxy.ProxyType.Socks5">
            <summary>
            SOCKS v5 Proxy
            </summary>
        </member>
        <member name="T:Starksoft.Net.Proxy.ProxyClientFactory">
             <summary>
             Factory class for creating new proxy client objects.
             </summary>
             <remarks>
             <code>
             // create an instance of the client proxy factory
             ProxyClientFactory factory = new ProxyClientFactory();
                    
             // use the proxy client factory to generically specify the type of proxy to create
             // the proxy factory method CreateProxyClient returns an IProxyClient object
             IProxyClient proxy = factory.CreateProxyClient(ProxyType.Http, "localhost", 6588);
            
             // create a connection through the proxy to www.starksoft.com over port 80
             System.Net.Sockets.TcpClient tcpClient = proxy.CreateConnection("www.starksoft.com", 80);
             </code>
             </remarks>
        </member>
        <member name="M:Starksoft.Net.Proxy.ProxyClientFactory.CreateProxyClient(Starksoft.Net.Proxy.ProxyType)">
            <summary>
            Factory method for creating new proxy client objects.
            </summary>
            <param name="type">The type of proxy client to create.</param>
            <returns>Proxy client object.</returns>
        </member>
        <member name="M:Starksoft.Net.Proxy.ProxyClientFactory.CreateProxyClient(Starksoft.Net.Proxy.ProxyType,System.Net.Sockets.TcpClient)">
            <summary>
            Factory method for creating new proxy client objects using an existing TcpClient connection object.
            </summary>
            <param name="type">The type of proxy client to create.</param>
            <param name="tcpClient">Open TcpClient object.</param>
            <returns>Proxy client object.</returns>
        </member>
        <member name="M:Starksoft.Net.Proxy.ProxyClientFactory.CreateProxyClient(Starksoft.Net.Proxy.ProxyType,System.String,System.Int32)">
            <summary>
            Factory method for creating new proxy client objects.  
            </summary>
            <param name="type">The type of proxy client to create.</param>
            <param name="proxyHost">The proxy host or IP address.</param>
            <param name="proxyPort">The proxy port number.</param>
            <returns>Proxy client object.</returns>
        </member>
        <member name="M:Starksoft.Net.Proxy.ProxyClientFactory.CreateProxyClient(Starksoft.Net.Proxy.ProxyType,System.String,System.Int32,System.String,System.String)">
            <summary>
            Factory method for creating new proxy client objects.  
            </summary>
            <param name="type">The type of proxy client to create.</param>
            <param name="proxyHost">The proxy host or IP address.</param>
            <param name="proxyPort">The proxy port number.</param>
            <param name="proxyUsername">The proxy username.  This parameter is only used by Socks4 and Socks5 proxy objects.</param>
            <param name="proxyPassword">The proxy user password.  This parameter is only used Socks5 proxy objects.</param>
            <returns>Proxy client object.</returns>
        </member>
        <member name="M:Starksoft.Net.Proxy.ProxyClientFactory.CreateProxyClient(Starksoft.Net.Proxy.ProxyType,System.Net.Sockets.TcpClient,System.String,System.Int32,System.String,System.String)">
            <summary>
            Factory method for creating new proxy client objects.  
            </summary>
            <param name="type">The type of proxy client to create.</param>
            <param name="tcpClient">Open TcpClient object.</param>
            <param name="proxyHost">The proxy host or IP address.</param>
            <param name="proxyPort">The proxy port number.</param>
            <param name="proxyUsername">The proxy username.  This parameter is only used by Socks4 and Socks5 proxy objects.</param>
            <param name="proxyPassword">The proxy user password.  This parameter is only used Socks5 proxy objects.</param>
            <returns>Proxy client object.</returns>
        </member>
        <member name="T:Starksoft.Net.Proxy.Socks5ProxyClient">
            <summary>
            Socks5 connection proxy class.  This class implements the Socks5 standard proxy protocol.
            </summary>
            <remarks>
            This implementation supports TCP proxy connections with a Socks v5 server.
            </remarks>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks5ProxyClient.#ctor">
            <summary>
            Create a Socks5 proxy client object. 
            </summary>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks5ProxyClient.#ctor(System.Net.Sockets.TcpClient)">
            <summary>
            Creates a Socks5 proxy client object using the supplied TcpClient object connection.
            </summary>
            <param name="tcpClient">A TcpClient connection object.</param>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks5ProxyClient.#ctor(System.String)">
            <summary>
            Create a Socks5 proxy client object.  The default proxy port 1080 is used.
            </summary>
            <param name="proxyHost">Host name or IP address of the proxy server.</param>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks5ProxyClient.#ctor(System.String,System.Int32)">
            <summary>
            Create a Socks5 proxy client object.
            </summary>
            <param name="proxyHost">Host name or IP address of the proxy server.</param>
            <param name="proxyPort">Port used to connect to proxy server.</param>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks5ProxyClient.#ctor(System.String,System.String,System.String)">
            <summary>
            Create a Socks5 proxy client object.  The default proxy port 1080 is used.
            </summary>
            <param name="proxyHost">Host name or IP address of the proxy server.</param>
            <param name="proxyUserName">Proxy authentication user name.</param>
            <param name="proxyPassword">Proxy authentication password.</param>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks5ProxyClient.#ctor(System.String,System.Int32,System.String,System.String)">
            <summary>
            Create a Socks5 proxy client object.  
            </summary>
            <param name="proxyHost">Host name or IP address of the proxy server.</param>
            <param name="proxyPort">Port used to connect to proxy server.</param>
            <param name="proxyUserName">Proxy authentication user name.</param>
            <param name="proxyPassword">Proxy authentication password.</param>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks5ProxyClient.CreateConnection(System.String,System.Int32)">
            <summary>
            Creates a remote TCP connection through a proxy server to the destination host on the destination port.
            </summary>
            <param name="destinationHost">Destination host name or IP address of the destination server.</param>
            <param name="destinationPort">Port number to connect to on the destination host.</param>
            <returns>
            Returns an open TcpClient object that can be used normally to communicate
            with the destination server
            </returns>
            <remarks>
            This method creates a connection to the proxy server and instructs the proxy server
            to make a pass through connection to the specified destination host on the specified
            port.  
            </remarks>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks5ProxyClient.CancelAsync">
            <summary>
            Cancels any asychronous operation that is currently active.
            </summary>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks5ProxyClient.CreateConnectionAsync(System.String,System.Int32)">
            <summary>
            Asynchronously creates a remote TCP connection through a proxy server to the destination host on the destination port.
            </summary>
            <param name="destinationHost">Destination host name or IP address.</param>
            <param name="destinationPort">Port number to connect to on the destination host.</param>
            <returns>
            Returns TcpClient object that can be used normally to communicate
            with the destination server.
            </returns>
            <remarks>
            This method instructs the proxy server
            to make a pass through connection to the specified destination host on the specified
            port.  
            </remarks>
        </member>
        <member name="P:Starksoft.Net.Proxy.Socks5ProxyClient.ProxyHost">
            <summary>
            Gets or sets host name or IP address of the proxy server.
            </summary>
        </member>
        <member name="P:Starksoft.Net.Proxy.Socks5ProxyClient.ProxyPort">
            <summary>
            Gets or sets port used to connect to proxy server.
            </summary>
        </member>
        <member name="P:Starksoft.Net.Proxy.Socks5ProxyClient.ProxyName">
            <summary>
            Gets String representing the name of the proxy. 
            </summary>
            <remarks>This property will always return the value 'SOCKS5'</remarks>
        </member>
        <member name="P:Starksoft.Net.Proxy.Socks5ProxyClient.ProxyUserName">
            <summary>
            Gets or sets proxy authentication user name.
            </summary>
        </member>
        <member name="P:Starksoft.Net.Proxy.Socks5ProxyClient.ProxyPassword">
            <summary>
            Gets or sets proxy authentication password.
            </summary>
        </member>
        <member name="P:Starksoft.Net.Proxy.Socks5ProxyClient.TcpClient">
            <summary>
            Gets or sets the TcpClient object. 
            This property can be set prior to executing CreateConnection to use an existing TcpClient connection.
            </summary>
        </member>
        <member name="P:Starksoft.Net.Proxy.Socks5ProxyClient.IsBusy">
            <summary>
            Gets a value indicating whether an asynchronous operation is running.
            </summary>
            <remarks>Returns true if an asynchronous operation is running; otherwise, false.
            </remarks>
        </member>
        <member name="P:Starksoft.Net.Proxy.Socks5ProxyClient.IsAsyncCancelled">
            <summary>
            Gets a value indicating whether an asynchronous operation is cancelled.
            </summary>
            <remarks>Returns true if an asynchronous operation is cancelled; otherwise, false.
            </remarks>
        </member>
        <member name="E:Starksoft.Net.Proxy.Socks5ProxyClient.CreateConnectionAsyncCompleted">
            <summary>
            Event handler for CreateConnectionAsync method completed.
            </summary>
        </member>
        <member name="T:Starksoft.Net.Proxy.Socks5ProxyClient.SocksAuthentication">
            <summary>
            Authentication itemType.
            </summary>
        </member>
        <member name="F:Starksoft.Net.Proxy.Socks5ProxyClient.SocksAuthentication.None">
            <summary>
            No authentication used.
            </summary>
        </member>
        <member name="F:Starksoft.Net.Proxy.Socks5ProxyClient.SocksAuthentication.UsernamePassword">
            <summary>
            Username and password authentication.
            </summary>
        </member>
        <member name="T:Starksoft.Net.Proxy.Socks4aProxyClient">
            <summary>
            Socks4a connection proxy class.  This class implements the Socks4a standard proxy protocol
            which is an extension of the Socks4 protocol 
            </summary>
            <remarks>
            In Socks version 4A if the client cannot resolve the destination host's domain name 
            to find its IP address the server will attempt to resolve it.  
            </remarks>
        </member>
        <member name="T:Starksoft.Net.Proxy.Socks4ProxyClient">
            <summary>
            Socks4 connection proxy class.  This class implements the Socks4 standard proxy protocol.
            </summary>
            <remarks>
            This class implements the Socks4 proxy protocol standard for TCP communciations.
            </remarks>
        </member>
        <member name="F:Starksoft.Net.Proxy.Socks4ProxyClient.SOCKS_PROXY_DEFAULT_PORT">
            <summary>
            Default Socks4 proxy port.
            </summary>
        </member>
        <member name="F:Starksoft.Net.Proxy.Socks4ProxyClient.SOCKS4_VERSION_NUMBER">
            <summary>
            Socks4 version number.
            </summary>
        </member>
        <member name="F:Starksoft.Net.Proxy.Socks4ProxyClient.SOCKS4_CMD_CONNECT">
            <summary>
            Socks4 connection command value.
            </summary>
        </member>
        <member name="F:Starksoft.Net.Proxy.Socks4ProxyClient.SOCKS4_CMD_BIND">
            <summary>
            Socks4 bind command value.
            </summary>
        </member>
        <member name="F:Starksoft.Net.Proxy.Socks4ProxyClient.SOCKS4_CMD_REPLY_REQUEST_GRANTED">
            <summary>
            Socks4 reply request grant response value.
            </summary>
        </member>
        <member name="F:Starksoft.Net.Proxy.Socks4ProxyClient.SOCKS4_CMD_REPLY_REQUEST_REJECTED_OR_FAILED">
            <summary>
            Socks4 reply request rejected or failed response value.
            </summary>
        </member>
        <member name="F:Starksoft.Net.Proxy.Socks4ProxyClient.SOCKS4_CMD_REPLY_REQUEST_REJECTED_CANNOT_CONNECT_TO_IDENTD">
            <summary>
            Socks4 reply request rejected becauase the proxy server can not connect to the IDENTD server value.
            </summary>
        </member>
        <member name="F:Starksoft.Net.Proxy.Socks4ProxyClient.SOCKS4_CMD_REPLY_REQUEST_REJECTED_DIFFERENT_IDENTD">
            <summary>
            Socks4 reply request rejected because of a different IDENTD server.
            </summary>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks4ProxyClient.#ctor">
            <summary>
            Create a Socks4 proxy client object.  The default proxy port 1080 is used.
            </summary>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks4ProxyClient.#ctor(System.Net.Sockets.TcpClient)">
            <summary>
            Creates a Socks4 proxy client object using the supplied TcpClient object connection.
            </summary>
            <param name="tcpClient">A TcpClient connection object.</param>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks4ProxyClient.#ctor(System.String,System.String)">
            <summary>
            Create a Socks4 proxy client object.  The default proxy port 1080 is used.
            </summary>
            <param name="proxyHost">Host name or IP address of the proxy server.</param>
            <param name="proxyUserId">Proxy user identification information.</param>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks4ProxyClient.#ctor(System.String,System.Int32,System.String)">
            <summary>
            Create a Socks4 proxy client object.
            </summary>
            <param name="proxyHost">Host name or IP address of the proxy server.</param>
            <param name="proxyPort">Port used to connect to proxy server.</param>
            <param name="proxyUserId">Proxy user identification information.</param>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks4ProxyClient.#ctor(System.String)">
            <summary>
            Create a Socks4 proxy client object.  The default proxy port 1080 is used.
            </summary>
            <param name="proxyHost">Host name or IP address of the proxy server.</param>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks4ProxyClient.#ctor(System.String,System.Int32)">
            <summary>
            Create a Socks4 proxy client object.
            </summary>
            <param name="proxyHost">Host name or IP address of the proxy server.</param>
            <param name="proxyPort">Port used to connect to proxy server.</param>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks4ProxyClient.CreateConnection(System.String,System.Int32)">
            <summary>
            Creates a TCP connection to the destination host through the proxy server
            host.
            </summary>
            <param name="destinationHost">Destination host name or IP address of the destination server.</param>
            <param name="destinationPort">Port number to connect to on the destination server.</param>
            <returns>
            Returns an open TcpClient object that can be used normally to communicate
            with the destination server
            </returns>
            <remarks>
            This method creates a connection to the proxy server and instructs the proxy server
            to make a pass through connection to the specified destination host on the specified
            port.  
            </remarks>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks4ProxyClient.SendCommand(System.Net.Sockets.NetworkStream,System.Byte,System.String,System.Int32,System.String)">
            <summary>
            Sends a command to the proxy server.
            </summary>
            <param name="proxy">Proxy server data stream.</param>
            <param name="command">Proxy byte command to execute.</param>
            <param name="destinationHost">Destination host name or IP address.</param>
            <param name="destinationPort">Destination port number</param>
            <param name="userId">IDENTD user ID value.</param>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks4ProxyClient.GetIPAddressBytes(System.String)">
            <summary>
            Translate the host name or IP address to a byte array.
            </summary>
            <param name="destinationHost">Host name or IP address.</param>
            <returns>Byte array representing IP address in bytes.</returns>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks4ProxyClient.GetDestinationPortBytes(System.Int32)">
            <summary>
            Translate the destination port value to a byte array.
            </summary>
            <param name="value">Destination port.</param>
            <returns>Byte array representing an 16 bit port number as two bytes.</returns>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks4ProxyClient.HandleProxyCommandError(System.Byte[],System.String,System.Int32)">
            <summary>
            Receive a byte array from the proxy server and determine and handle and errors that may have occurred.
            </summary>
            <param name="response">Proxy server command response as a byte array.</param>
            <param name="destinationHost">Destination host.</param>
            <param name="destinationPort">Destination port number.</param>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks4ProxyClient.CancelAsync">
            <summary>
            Cancels any asychronous operation that is currently active.
            </summary>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks4ProxyClient.CreateConnectionAsync(System.String,System.Int32)">
            <summary>
            Asynchronously creates a remote TCP connection through a proxy server to the destination host on the destination port
            using the supplied open TcpClient object with an open connection to proxy server.
            </summary>
            <param name="destinationHost">Destination host name or IP address.</param>
            <param name="destinationPort">Port number to connect to on the destination host.</param>
            <returns>
            Returns TcpClient object that can be used normally to communicate
            with the destination server.  
            </returns>
            <remarks>
            This instructs the proxy server to make a pass through connection to the specified destination host on the specified
            port.  
            </remarks>
        </member>
        <member name="P:Starksoft.Net.Proxy.Socks4ProxyClient.ProxyHost">
            <summary>
            Gets or sets host name or IP address of the proxy server.
            </summary>
        </member>
        <member name="P:Starksoft.Net.Proxy.Socks4ProxyClient.ProxyPort">
            <summary>
            Gets or sets port used to connect to proxy server.
            </summary>
        </member>
        <member name="P:Starksoft.Net.Proxy.Socks4ProxyClient.ProxyName">
            <summary>
            Gets String representing the name of the proxy. 
            </summary>
            <remarks>This property will always return the value 'SOCKS4'</remarks>
        </member>
        <member name="P:Starksoft.Net.Proxy.Socks4ProxyClient.ProxyUserId">
            <summary>
            Gets or sets proxy user identification information.
            </summary>
        </member>
        <member name="P:Starksoft.Net.Proxy.Socks4ProxyClient.TcpClient">
            <summary>
            Gets or sets the TcpClient object. 
            This property can be set prior to executing CreateConnection to use an existing TcpClient connection.
            </summary>
        </member>
        <member name="P:Starksoft.Net.Proxy.Socks4ProxyClient.IsBusy">
            <summary>
            Gets a value indicating whether an asynchronous operation is running.
            </summary>
            <remarks>Returns true if an asynchronous operation is running; otherwise, false.
            </remarks>
        </member>
        <member name="P:Starksoft.Net.Proxy.Socks4ProxyClient.IsAsyncCancelled">
            <summary>
            Gets a value indicating whether an asynchronous operation is cancelled.
            </summary>
            <remarks>Returns true if an asynchronous operation is cancelled; otherwise, false.
            </remarks>
        </member>
        <member name="E:Starksoft.Net.Proxy.Socks4ProxyClient.CreateConnectionAsyncCompleted">
            <summary>
            Event handler for CreateConnectionAsync method completed.
            </summary>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks4aProxyClient.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks4aProxyClient.#ctor(System.Net.Sockets.TcpClient)">
            <summary>
            Creates a Socks4 proxy client object using the supplied TcpClient object connection.
            </summary>
            <param name="tcpClient">An open TcpClient object with an established connection.</param>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks4aProxyClient.#ctor(System.String,System.String)">
            <summary>
            Create a Socks4a proxy client object.  The default proxy port 1080 is used.
            </summary>
            <param name="proxyHost">Host name or IP address of the proxy server.</param>
            <param name="proxyUserId">Proxy user identification information for an IDENTD server.</param>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks4aProxyClient.#ctor(System.String,System.Int32,System.String)">
            <summary>
            Create a Socks4a proxy client object.
            </summary>
            <param name="proxyHost">Host name or IP address of the proxy server.</param>
            <param name="proxyPort">Port used to connect to proxy server.</param>
            <param name="proxyUserId">Proxy user identification information.</param>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks4aProxyClient.#ctor(System.String)">
            <summary>
            Create a Socks4 proxy client object.  The default proxy port 1080 is used.
            </summary>
            <param name="proxyHost">Host name or IP address of the proxy server.</param>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks4aProxyClient.#ctor(System.String,System.Int32)">
            <summary>
            Create a Socks4a proxy client object.
            </summary>
            <param name="proxyHost">Host name or IP address of the proxy server.</param>
            <param name="proxyPort">Port used to connect to proxy server.</param>
        </member>
        <member name="M:Starksoft.Net.Proxy.Socks4aProxyClient.SendCommand(System.Net.Sockets.NetworkStream,System.Byte,System.String,System.Int32,System.String)">
            <summary>
            Sends a command to the proxy server.
            </summary>
            <param name="proxy">Proxy server data stream.</param>
            <param name="command">Proxy byte command to execute.</param>
            <param name="destinationHost">Destination host name or IP address.</param>
            <param name="destinationPort">Destination port number</param>
            <param name="userId">IDENTD user ID value.</param>
            <remarks>
            This method override the SendCommand message in the Sock4ProxyClient object.  The override adds support for the
            Socks4a extensions which allow the proxy client to optionally command the proxy server to resolve the 
            destination host IP address. 
            </remarks>
        </member>
        <member name="P:Starksoft.Net.Proxy.Socks4aProxyClient.ProxyName">
            <summary>
            Gets String representing the name of the proxy. 
            </summary>
            <remarks>This property will always return the value 'SOCKS4a'</remarks>
        </member>
        <member name="T:Starksoft.Net.Proxy.HttpProxyClient">
            <summary>
            HTTP connection proxy class.  This class implements the HTTP standard proxy protocol.
            <para>
            You can use this class to set up a connection to an HTTP proxy server.  Calling the 
            CreateConnection() method initiates the proxy connection and returns a standard
            System.Net.Socks.TcpClient object that can be used as normal.  The proxy plumbing
            is all handled for you.
            </para>
            <code>
            
            </code>
            </summary>
        </member>
        <member name="M:Starksoft.Net.Proxy.HttpProxyClient.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="M:Starksoft.Net.Proxy.HttpProxyClient.#ctor(System.Net.Sockets.TcpClient)">
            <summary>
            Creates a HTTP proxy client object using the supplied TcpClient object connection.
            </summary>
            <param name="tcpClient">A TcpClient connection object.</param>
        </member>
        <member name="M:Starksoft.Net.Proxy.HttpProxyClient.#ctor(System.String)">
            <summary>
            Constructor.  The default HTTP proxy port 8080 is used.
            </summary>
            <param name="proxyHost">Host name or IP address of the proxy.</param>
        </member>
        <member name="M:Starksoft.Net.Proxy.HttpProxyClient.#ctor(System.String,System.Int32)">
            <summary>
            Constructor.  
            </summary>
            <param name="proxyHost">Host name or IP address of the proxy server.</param>
            <param name="proxyPort">Port number for the proxy server.</param>
        </member>
        <member name="M:Starksoft.Net.Proxy.HttpProxyClient.CreateConnection(System.String,System.Int32)">
            <summary>
            Creates a remote TCP connection through a proxy server to the destination host on the destination port.
            </summary>
            <param name="destinationHost">Destination host name or IP address.</param>
            <param name="destinationPort">Port number to connect to on the destination host.</param>
            <returns>
            Returns an open TcpClient object that can be used normally to communicate
            with the destination server
            </returns>
            <remarks>
            This method creates a connection to the proxy server and instructs the proxy server
            to make a pass through connection to the specified destination host on the specified
            port.  
            </remarks>
        </member>
        <member name="M:Starksoft.Net.Proxy.HttpProxyClient.CancelAsync">
            <summary>
            Cancels any asychronous operation that is currently active.
            </summary>
        </member>
        <member name="M:Starksoft.Net.Proxy.HttpProxyClient.CreateConnectionAsync(System.String,System.Int32)">
            <summary>
            Asynchronously creates a remote TCP connection through a proxy server to the destination host on the destination port.
            </summary>
            <param name="destinationHost">Destination host name or IP address.</param>
            <param name="destinationPort">Port number to connect to on the destination host.</param>
            <returns>
            Returns an open TcpClient object that can be used normally to communicate
            with the destination server
            </returns>
            <remarks>
            This method creates a connection to the proxy server and instructs the proxy server
            to make a pass through connection to the specified destination host on the specified
            port.  
            </remarks>
        </member>
        <member name="P:Starksoft.Net.Proxy.HttpProxyClient.ProxyHost">
            <summary>
            Gets or sets host name or IP address of the proxy server.
            </summary>
        </member>
        <member name="P:Starksoft.Net.Proxy.HttpProxyClient.ProxyPort">
            <summary>
            Gets or sets port number for the proxy server.
            </summary>
        </member>
        <member name="P:Starksoft.Net.Proxy.HttpProxyClient.ProxyName">
            <summary>
            Gets String representing the name of the proxy. 
            </summary>
            <remarks>This property will always return the value 'HTTP'</remarks>
        </member>
        <member name="P:Starksoft.Net.Proxy.HttpProxyClient.TcpClient">
            <summary>
            Gets or sets the TcpClient object. 
            This property can be set prior to executing CreateConnection to use an existing TcpClient connection.
            </summary>
        </member>
        <member name="P:Starksoft.Net.Proxy.HttpProxyClient.IsBusy">
            <summary>
            Gets a value indicating whether an asynchronous operation is running.
            </summary>
            <remarks>Returns true if an asynchronous operation is running; otherwise, false.
            </remarks>
        </member>
        <member name="P:Starksoft.Net.Proxy.HttpProxyClient.IsAsyncCancelled">
            <summary>
            Gets a value indicating whether an asynchronous operation is cancelled.
            </summary>
            <remarks>Returns true if an asynchronous operation is cancelled; otherwise, false.
            </remarks>
        </member>
        <member name="E:Starksoft.Net.Proxy.HttpProxyClient.CreateConnectionAsyncCompleted">
            <summary>
            Event handler for CreateConnectionAsync method completed.
            </summary>
        </member>
        <member name="T:Starksoft.Net.Proxy.ProxyException">
            <summary>
            This exception is thrown when a general, unexpected proxy error.   
            </summary>
        </member>
        <member name="M:Starksoft.Net.Proxy.ProxyException.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="M:Starksoft.Net.Proxy.ProxyException.#ctor(System.String)">
            <summary>
            Constructor.
            </summary>
            <param name="message">Exception message text.</param>
        </member>
        <member name="M:Starksoft.Net.Proxy.ProxyException.#ctor(System.String,System.Exception)">
            <summary>
            Constructor.
            </summary>
            <param name="message">Exception message text.</param>
            <param name="innerException">The inner exception object.</param>
        </member>
        <member name="M:Starksoft.Net.Proxy.ProxyException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Constructor.
            </summary>
            <param name="info">Serialization information.</param>
            <param name="context">Stream context information.</param>
        </member>
    </members>
</doc>
